home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / POLYSPTP.ZIP / DCSPS.FOR < prev    next >
Text File  |  1985-11-29  |  2KB  |  66 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DCSPS
  5. C
  6. C        PURPOSE
  7. C           COMPUTES THE VALUE OF AN N-TERM EXPANSION IN SHIFTED
  8. C           CHEBYSHEV POLYNOMIALS WITH COEFFICIENT VECTOR C
  9. C           FOR ARGUMENT VALUE X.
  10. C
  11. C        USAGE
  12. C           CALL DCSPS(Y,X,C,N)
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           Y     - RESULT VALUE
  16. C                   DOUBLE PRECISION VARIABLE
  17. C           X     - ARGUMENT VALUE
  18. C                   DOUBLE PRECISION VARIABLE
  19. C           C     - COEFFICIENT VECTOR OF GIVEN EXPANSION
  20. C                   COEFFICIENTS ARE ORDERED FROM LOW TO HIGH
  21. C                   DOUBLE PRECISION VECTOR
  22. C           N     - DIMENSION OF COEFFICIENT VECTOR C
  23. C
  24. C        REMARKS
  25. C           OPERATION IS BYPASSED IN CASE N LESS THAN 1
  26. C
  27. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  28. C           NONE
  29. C
  30. C        METHOD
  31. C           DEFINITION
  32. C           Y=SUM(C(I)*TS(I-1,X), SUMMED OVER I FROM 1 TO N).
  33. C           EVALUATION IS DONE BY MEANS OF BACKWARD RECURSION
  34. C           USING THE RECURRENCE EQUATION FOR SHIFTED
  35. C           CHEBYSHEV POLYNOMIALS
  36. C           TS(N+1,X)=(4*X-2)*TS(N,X)-TS(N-1,X).
  37. C
  38. C     ..................................................................
  39. C
  40.       SUBROUTINE DCSPS(Y,X,C,N)
  41. C
  42.       DIMENSION C(1)
  43.       DOUBLE PRECISION C,Y,X,H0,H1,H2,ARG
  44. C
  45. C        TEST OF DIMENSION
  46.       IF(N)1,1,2
  47.     1 RETURN
  48. C
  49.     2 IF(N-2)3,4,4
  50.     3 Y=C(1)
  51.       RETURN
  52. C
  53. C        INITIALIZATION
  54.     4 ARG=X+X-1.D0
  55.       ARG=ARG+ARG
  56.       H1=0.D0
  57.       H0=0.D0
  58.       DO 5 I=1,N
  59.       K=N-I
  60.       H2=H1
  61.       H1=H0
  62.     5 H0=ARG*H1-H2+C(K+1)
  63.       Y=0.5D0*(C(1)-H2+H0)
  64.       RETURN
  65.       END
  66.